[main] Update AL-Go System Files from microsoft/AL-Go-PTE@preview - ef914042bcf3fb640cbf150a975c08e33657cf4a #255
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
v6.2
Issues
New Repository Settings
useGitSubmodules
can be eithertrue
orrecursive
if you want to enable Git Submodules in your repository. If your Git submodules resides in a private repository, you need to create a secret calledgitSubmodulesToken
containing a PAT with access to the submodule repositories. Like with all other secrets, you can also create a setting calledgitSubmodulesTokenSecretName
and specify the name of another secret, with these permissions (f.ex. ghTokenWorkflow).commitOptions
- is a structure defining how you want AL-Go to handle automated commits or pull requests coming from AL-Go (e.g. for Update AL-Go System Files). The structure contains the following propertiesmessageSuffix
: A string you want to append to the end of commits/pull requests created by AL-Go. This can be useful if you are using the Azure Boards integration (or similar integration) to link commits to workitems.pullRequestAutoMerge
: A boolean defining whether you want AL-Go pull requests to be set to auto-complete. This will auto-complete the pull requests once all checks are green and all required reviewers have approved.pullRequestLabels
: A list of labels to add to the pull request. The labels need to be created in the repository before they can be applied.Support for Git submodules
In v6.1 we added experimental support for Git submodules - this did however only work if the submodules was in a public repository. In this version, you can use the
useGitSubmodules
setting to control whether you want to use Git Submodules and thegitSubmodulesToken
secret to allow permission to read these repositories.v6.1
Issues
New Project Settings
pageScriptingTests
should be an array of page scripting test file specifications, relative to the AL-Go project. Examples of file specifications:recordings/my*.yml
(for all yaml files in the recordings subfolder matching my*.yml),recordings
(for all *.yml files in the recordings subfolder) orrecordings/test.yml
(for a single yml file)doNotRunPageScriptingTests
can force the pipeline to NOT run the page scripting tests specified in pageScriptingTests. Note this setting can be set in a workflow specific settings file to only apply to that workflowrestoreDatabases
should be an array of events, indicating when you want to start with clean databases in the container. Possible events are:BeforeBcpTests
,BeforePageScriptingTests
,BeforeEachTestApp
,BeforeEachBcptTestApp
,BeforeEachPageScriptingTest
New Repository Settings
trustedSigning
is a structure definingAccount
,EndPoint
andCertificateProfile
if you want to use trusted signing. Note that your Azure_Credentials secret (Microsoft Entra ID App or Managed identity) still needs to provide access to your azure subscription and be assigned theTrusted Signing Certificate Profile Signer
role in the Trusted Signing Account.deployTo<environment>
now has an additional property called DependencyInstallMode, which determines how dependencies are deployed if GenerateDependencyArtifact is true. Default value isinstall
to install dependencies if not already installed. Other values areignore
for ignoring dependencies,upgrade
for upgrading dependencies if possible andforceUpgrade
for force upgrading dependencies.Support for Azure Trusted Signing
Read https://learn.microsoft.com/en-us/azure/trusted-signing/ for more information about Trusted Signing and how to set it up. After setting up your trusted signing account and certificate profile, you need to create a setting called trustedSigning for AL-Go to sign your apps using Azure Trusted Signing.
Support for Page Scripting Tests
Page Scripting tests are now supported as part of CI/CD. By specifying pageScriptingTests in your project settings file, AL-Go for GitHub will automatically run these page scripting tests as part of your CI/CD workflow, generating the following build artifacts:
PageScriptingTestResults
is a JUnit test results file with all results combined.PageScriptingTestResultDetails
are the detailed test results (including videos) when any of the page scripting tests have failures. If the page scripting tests succeed - the details are not published.Experimental support for Git submodule
Git submodule is now supported as part of CI/CD on your project.
v6.0
Issues
New Settings
deliverTo<deliverytarget>
now has an additional property calledContinuousDelivery
, indicating whether or not to run continuous delivery to this deliveryTarget. Default is true.trustMicrosoftNuGetFeeds
Unless this setting is set to false, AL-Go for GitHub will trust the NuGet feeds provided by Microsoft. The feeds provided by Microsoft contains all Microsoft apps, all Microsoft symbols and symbols for all AppSource apps.trustedNuGetFeeds
- can be an array of NuGet feed specifications, which AL-Go for GitHub will use for dependency resolution. Every feed specification must include a URL property and can optionally include a few other properties:Support for delivering to GitHub Packages and NuGet
With this release the implementation for delivering to NuGet packages (by adding the NuGetContext secret), is similar to the functionality behind delivering to GitHub packages and the implementation is no longer in preview.
Allow GitHubRunner and GitHubRunnerShell as project settings
Previously, AL-Go required the GitHubRunner and GitHubRunnerShell settings to be set on repository level. This has now been changed such that they can be set on project level.
v5.3
Issues
Dependencies to PowerShell modules
AL-Go for GitHub relies on specific PowerShell modules, and the minimum versions required for these modules are tracked in Packages.json file. Should the installed modules on the GitHub runner not meet these minimum requirements, the necessary modules will be installed as needed.
Support managed identities and federated credentials
All authentication context secrets now supports managed identities and federated credentials. See more here. Furthermore, you can now use https://aka.ms/algosecrets#authcontext to learn more about the formatting of that secret.
Business Central Performance Toolkit Test Result Viewer
In the summary after a Test Run, you now also have the result of performance tests.
Support Ubuntu runners for all AL-Go workflows
Previously, the workflows "Update AL-Go System Files" and "TroubleShooting" were hardcoded to always run on
windows-latest
to prevent deadlocks and security issues.From now on,
ubuntu-lates
will also be allowed for these mission critical workflows, when changing theruns-on
setting. Additionally, only the valuepwsh
forshell
setting is allowed when usingubuntu-latest
runners.Updated AL-Go telemetry
AL-Go for GitHub now includes a new telemetry module. For detailed information on how to enable or disable telemetry and to see what data AL-Go logs, check out this article.
New Settings
deployTo<environmentName>
: is not really new, but has a new property:bcptThresholds
is a JSON object with properties for the default thresholds for the Business Central Performance ToolkitNote
Duration thresholds are subject to varying results depending on the performance of the agent running the tests. Number of SQL statements executed by a test is often the most reliable indicator of performance degredation.
v5.2
Issues
New Settings
PowerPlatformSolutionFolder
: Contains the name of the folder containing a PowerPlatform Solution (only one)DeployTo<environment>
now has two additional propertiescompanyId
is the Company Id from Business Central (for PowerPlatform connection) andppEnvironmentUrl
is the Url of the PowerPlatform environment to deploy to.New Actions
BuildPowerPlatform
: to build a PowerPlatform SolutionDeployPowerPlatform
: to deploy a PowerPlatform SolutionPullPowerPlatformChanges
: to pull changes made in PowerPlatform studio into the repositoryReadPowerPlatformSettings
: to read settings and secrets for PowerPlatform deploymentGetArtifactsForDeployment
: originally code from deploy.ps1 to retrieve artifacts for releases or builds - now as an action to read apps into a folder.New Workflows
Note
PowerPlatform workflows are only available in the PTE template and will be removed if no PowerPlatformSolutionFolder is defined in settings.
New Scenarios (Documentation)
Note
PowerPlatform functionality are only available in the PTE template.
v5.1
Issues
Better artifact selection
The artifact setting in your project settings file can now contain a
*
instead of the version number. This means that AL-Go for GitHub will determine the application dependency for your projects together with theapplicationDependency
setting and determine which Business Central version is needed for the project."artifact": "//*//latest"
will give you the latest Business Central version, higher than your application dependency and with the same major.minor as your applica...Truncated due to size limits!